home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / gcl-1.000 / gcl-1 / gcl-1.0 / dos / sigman.s < prev    next >
Encoding:
Text File  |  1992-09-15  |  1.3 KB  |  50 lines

  1.  
  2.         .globl _SignalManager
  3. _SignalManager:
  4.     pushl    %ebp
  5.     movl    %esp,%ebp
  6.         /*-------------------------------------------------------------------
  7.         ** Save all registers
  8.         **-----------------------------------------------------------------*/
  9.         pushl   %eax
  10.         pushl   %ebx
  11.         pushl   %ecx
  12.         pushl   %edx
  13.         pushl   %esi
  14.         pushl   %edi
  15.         pushf
  16.         pushl   %es
  17.         pushl   %ds
  18. /*        pushl   %ss*/
  19.         pushl   %fs
  20.         pushl   %gs
  21.         /*-----------------------------------------------------------------*/
  22.  
  23.         movl    4(%ebp), %eax
  24.         shl     $2, %eax
  25.         movl    _SignalTable(%eax), %ebx
  26.         call    %ebx
  27.  
  28.         /*-------------------------------------------------------------------
  29.         ** Restore registers
  30.         **-----------------------------------------------------------------*/
  31.         popl    %gs
  32.         popl    %fs
  33. /*        popl    %ss*/
  34.         popl    %ds
  35.         popl    %es
  36.         popf
  37.         popl    %edi
  38.         popl    %esi
  39.         popl    %edx
  40.         popl    %ecx
  41.         popl    %ebx
  42.         popl    %eax
  43.         /*------------------------------------------------------------------*/
  44.  
  45.         popl    %ebp
  46.         add     $4, %esp
  47.  
  48.         ret     /* resume program */
  49.  
  50.